﻿using System;
using System.Collections.Generic;

namespace DbManager.DataRequest
{
    public class DataRequestGruppa:IDataRequest
    {
        private string _name = string.Empty;
        private string _surname = string.Empty;
        private string _fatherName = string.Empty;

        public void SetRequestParameters(Dictionary<string, string> parametersDictionary)
        {
            if (parametersDictionary.ContainsKey("name") && parametersDictionary.ContainsKey("surname") && parametersDictionary.ContainsKey("fatherName"))
            {
                _surname = parametersDictionary["surname"];
                _name = parametersDictionary["name"];
                _fatherName = parametersDictionary["fatherName"];
            }
        }

        public string GetSelectQuery()
        {
            return "SELECT [Идентификатор], [Фамилия], [Имя], [Отчество] FROM [Группа] ORDER BY [Идентификатор]";
        }

        public string GetSelectQueryById()
        {
            throw new NotImplementedException();
        }

        public string GetInsertQuery()
        {
            if (string.IsNullOrEmpty(_name) || string.IsNullOrEmpty(_surname) || string.IsNullOrEmpty(_fatherName))
            {
                return string.Empty;
            }
            /*смотри осторожно, запрос работает на [Идентификатор группы] = 1*/
            return "INSERT INTO [Группа] ([Идентификатор группы], [Фамилия], [Имя], [Отчество]) VALUES (1,'" + _surname + "', '" + _name + "', '" + _fatherName + "')";
        }

        public string GetUpdateQuery(int id)
        {
            if (string.IsNullOrEmpty(_name) || string.IsNullOrEmpty(_surname) || string.IsNullOrEmpty(_fatherName) || id == 0)
            {
                return string.Empty;
            }
            return "UPDATE [Группа] SET [Фамилия]='"+_surname+"', [Имя]='"+_name+"', [Отчество]='"+_fatherName+"' WHERE [Идентификатор]=" + id;
        }

        public string GetDeleteQuery(int id)
        {
            if (id == 0)
            {
                return string.Empty;
            }
            return "DELETE FROM [Группа] WHERE [Идентификатор]=" + id;
        }
    }
}
